package com.gzx.plugin.tjzy.modular.phone.filter.entity.vo;

import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fhs.core.trans.anno.Trans;
import com.fhs.core.trans.constant.TransType;
import com.gzx.plugin.tjzy.modular.phone.filter.entity.GzxPhoneFilter;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import vip.xiaonuo.common.handler.CommonSm1AesTypeHandler;
import vip.xiaonuo.common.pojo.CommonEntity;
import vip.xiaonuo.common.sensitive.annotation.Sensitive;
import vip.xiaonuo.common.sensitive.core.SensitiveStrategy;

/**
 * @author zjt
 * @description
 * @date 2025/3/4 11:55
 */
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = GzxPhoneFilter.class)
public class GzxPhoneFilterVo extends CommonEntity {

    /**
     * ID
     */
    private String id;

    /**
     * 手机号码
     */
    @ExcelProperty("手机号")
    @TableField(typeHandler = CommonSm1AesTypeHandler.class)
    @Sensitive(strategy = SensitiveStrategy.PHONE)
    private String phoneNumber;

    /**
     * 身份证号码
     */
    @ExcelProperty("身份证号")
    @TableField(typeHandler = CommonSm1AesTypeHandler.class)
    @Sensitive(strategy = SensitiveStrategy.ID_CARD)
    private String idCard;

    /**
     * 用户姓名
     */
    @ExcelProperty("姓名")
    private String name;

    /**
     * 备注
     */
    @ExcelProperty("备注")
    private String remark;

    /**
     * 项目编号
     */
    @Trans(type = TransType.DICTIONARY, key = "project", ref = "projectName")
    private String projectCode;

    private String projectName;
}
